package com.qfedu.labsystem.entity.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

/**
 * @ClassName User
 * @Author ykx
 * @Date 2024/4/6 8:10
 * @Version 1.0
 */
@Data
@TableName("sys_user_t")
public class UserBO {
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 用户名
     */
    @TableField("username")
    @ExcelProperty("用户名")
    private String username;

    /**
     * 密码
     */
    @TableField("password")
    @ExcelProperty("密码")
    private String password;

    /**
     * 密码加密后的密钥
     */
    @TableField("key_password")
    private String keyPassword;

    /**
     * 角色id
     */
    @TableField("role_id")
    @ExcelProperty("角色")
    private Integer roleId;

    /**
     * 是否为管理员
     */
    @TableField("is_default")
    @ExcelProperty("是否默认为管理员")
    private Integer isDefault;

    /**
     * 手机号
     */
    @TableField("tel")
    @ExcelProperty("手机号")
    private String tel;

    /**
     * 邮箱
     */
    @TableField("email")
    @ExcelProperty("邮箱")
    private String email;

    /**
     * 图片地址
     */
    @TableField("image_url")
    private String imageUrl;

    /**
     * 创建人
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(value = "creation_date", fill = FieldFill.INSERT)
    private Date creationDate;

    /**
     * 最后一次更新人
     */
    @TableField(value = "last_update_by", fill = FieldFill.INSERT_UPDATE)
    private Long lastUpdateBy;

    /**
     * 最后一次更新时间
     */
    @TableField(value = "last_update_date", fill = FieldFill.INSERT_UPDATE)
    private Date lastUpdateDate;

    /**
     * 软删除标志
     */
    @TableField(value = "delete_flag", fill = FieldFill.INSERT)
    @TableLogic
    private Integer deleteFlag;

}
